#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

/**
 * Definition for singly-linked list.
 */
struct ListNode {
	int val;
	struct ListNode* next;
};
typedef struct ListNode listNode, *listNode_p;

struct ListNode* swapPairs(struct ListNode* head);

int main()
{
	return 0;
}

struct ListNode* swapPairs(struct ListNode* head)
{
	if (!head || !head->next)
		return head;

	listNode_p fi = head;
	listNode_p se = fi->next;
	listNode_p th = se->next;

	se->next = fi;
	fi->next = swapPairs(th);

	return se;
}
